package com.xxxx.web.dto;

import com.xxxx.web.entity.*;
import com.xxxx.web.enums.*;
import com.xxxx.web.tools.dto.BaseDto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.apache.commons.beanutils.BeanUtils;

import java.lang.reflect.InvocationTargetException;

/**
 * 商品表类
 */
@Data
public class CargoDto extends BaseDto {


    /**
     * 规格型号
     */
    @JsonProperty("Specification")
    private String Specification;


    /**
     * 仓库
     */
    @JsonProperty("WarehouseId")
    private Integer WarehouseId;


    /**
     * 品牌
     */
    @JsonProperty("Brand")
    private String Brand;


    /**
     * 商品名称
     */
    @JsonProperty("Name")
    private String Name;


    /**
     * 货主
     */
    @JsonProperty("CustomerId")
    private Integer CustomerId;


    /**
     * 单位
     */
    @JsonProperty("Unit")
    private String Unit;


    /**
     * 条码
     */
    @JsonProperty("SKU")
    private String SKU;


    /**
     * 商品分类
     */
    @JsonProperty("CargoTypeId")
    private Integer CargoTypeId;


    /**
     * 最低库存预警
     */
    @JsonProperty("MinStockAlert")
    private Double MinStockAlert;


    /**
     * 最高库存限制
     */
    @JsonProperty("MaxStockLimit")
    private Double MaxStockLimit;

    @JsonProperty("WarehouseDto")
    private WarehouseDto WarehouseDto;

    @JsonProperty("CustomerDto")
    private CustomerDto CustomerDto;

    @JsonProperty("CargoTypeDto")
    private CargoTypeDto CargoTypeDto;

    /**
     * 把商品表传输模型转换成商品表实体
     */
    public Cargo MapToEntity() throws InvocationTargetException, IllegalAccessException {
        Cargo Cargo = new Cargo();

        BeanUtils.copyProperties(Cargo, this);

        return Cargo;
    }

}
